package br.senai.sc.web.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.inject.Inject;

import br.senai.sc.controller.crud.BaciaHidrograficaCRUD;
import br.senai.sc.model.BaciaHidrografica;

/**
 * @author Fernando Marquardt &lt;fernando.marquardt@sc.senai.br&gt;
 * @since 31/01/2012
 * @version $Id: BaciaHidrograficaConverter.java 28 2012-03-07 20:48:20Z fernando.marquardt $
 */
@FacesConverter(forClass = BaciaHidrografica.class)
public class BaciaHidrograficaConverter implements Converter {

    @Inject
    private BaciaHidrograficaCRUD baciaHidrograficaCRUD;

    /**
     * {@inheritDoc}
     */
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        return baciaHidrograficaCRUD.findBaciaHidrografica(Integer.valueOf(value));
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (value instanceof BaciaHidrografica) {
            return ((BaciaHidrografica) value).getIdBaciaHidrografica().toString();
        }

        return null;
    }
}